package com.ybt.message.unpack;

import com.ruleengine.context.IWorkflowConext;
import com.ybt.message.unpack.exception.MessageUnpackException;

/**
 * 银保通报文解包接口.
 * <br>从通信层接收到的报文，需要通过解包程序转换后才能使用.
 * <br>对应于不同的报文格式，需要有不同的解包程序实现
 * @author AB033862
 * Jul 30, 2012
 */
public interface IMessageUnpack {
    /**
     * 报文解包方法.
     * <br/>报文头中的相关信息放到context中，
     * 报文体中的报文则通过返回值返回。
     * @param message 原始报文
     * @return 解完包后的消息体报文
     * @throws MessageUnpackException
     */
    public Object unpack(IWorkflowConext context, Object message)throws MessageUnpackException;
}
